package cn.itrip.biz.service.itripHotelOrder;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.List;
import java.util.Map;

import cn.itrip.beans.pojo.ItripHotelOrder;
import cn.itrip.beans.pojo.ItripHotelTempStore;
import cn.itrip.beans.pojo.ItripUserLinkUser;
import cn.itrip.beans.vo.order.ItripListHotelOrderVO;
import cn.itrip.common.Page;
/**
* Created by shang-pc on 2015/11/7.
*/
public interface ItripHotelOrderService {

    public ItripHotelOrder getItripHotelOrderById(Long id)throws Exception;

    public List<ItripHotelOrder>	getItripHotelOrderListByMap(Map<String,Object> param)throws Exception;

    public Integer getItripHotelOrderCountByMap(Map<String,Object> param)throws Exception;

    public Map<String, String> itriptxAddItripHotelOrder(ItripHotelOrder itripHotelOrder, List<ItripUserLinkUser> linkUsers)throws Exception;

    public Integer itriptxModifyItripHotelOrder(ItripHotelOrder itripHotelOrder)throws Exception;

    public Integer itriptxDeleteItripHotelOrderById(Long id)throws Exception;

    public Page<ItripHotelOrder> queryItripHotelOrderPageByMap(Map<String,Object> param, Integer pageNo, Integer pageSize)throws Exception;

    public Page<ItripListHotelOrderVO> getHotelOrderListVoPageByMap(Map<String,Object> param, Integer pageNo, Integer pageSize)throws Exception;

    public List<ItripHotelTempStore> queryRoomStore(Map<String, Object> param) throws Exception;

    public boolean validateRoomStore(Map<String, Object> param) throws Exception;
    public Map<String, Object> validateRoomStore2(Map<String, Object> param) throws Exception;

    public BigDecimal getOrderPayAmount(int count, long roomId) throws Exception;

    public boolean isOffLinePaymentSupported(Long orderId) throws Exception;
}
